package com.whzykj.jfinal;

import java.io.IOException;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.jfinal.handler.Handler;

public class AuthHandler extends Handler {

	@SuppressWarnings("deprecation")
	@Override
	public void handle(String target, HttpServletRequest request,
			HttpServletResponse response, boolean[] isHandled) {
		// 处理HTML、JSP等静态资源
		/*
		 * 定义过滤规则：
		 * 1. 如果路径中包含了\wap\和\mobile\的路径，则不管是不是JSP都放行。
		 * 2. 判断所有的类型是JSP文件，则判断是不是login.jsp,如果是login.jsp，则放行，否则，判断是否登录
		 */
		if(target.indexOf("/mobile/")==-1 && target.indexOf("/wap/")==-1 && target.indexOf("/wxpay/payresult")==-1 && target.indexOf("/wxpay/balancepayresult")==-1 && target.indexOf("/alipay/balancepayresult")==-1 && target.indexOf("/alipay/payresult")==-1){
			if(target.indexOf(".jsp")!=-1 && target.indexOf("login.jsp")==-1){
				if(request.getSession().getAttribute("LOGIN_USER") == null){
					try {
						response.sendRedirect(request.getContextPath()+"/login.jsp");
					} catch (IOException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
				}
			}
		}
		next.handle(target, request, response, isHandled);
	}

}
